package com.ruoyi.report_wjjhl.domain.vo;

import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.common.utils.BigDecimalUtil;
import com.ruoyi.report_tg.domain.vo.ExcelGeneralVo;
import lombok.Data;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;


/**
 * 粗集料颗粒级配试验检测记录水筛法视图对象 report_wjjhl_cjlkljpsy_bs_info
 *
 * @author zyb
 * @date 2024-08-08
 */
@Data
@ExcelIgnoreUnannotated
public class CjlkljpsyBsInfoVo extends ExcelGeneralVo {

    private static final long serialVersionUID = 1L;

    /**
     * 一份excel表格的唯一id(其他的excel主表，都应有此字段）
     */
    @ExcelProperty(value = "一份excel表格的唯一id(其他的excel主表，都应有此字段）")
    private Long excelId;

    /**
     * 共几页
     */
    @ExcelProperty(value = "共几页")
    private Long totalPage;

    /**
     * 第几页
     */
    @ExcelProperty(value = "第几页")
    private Long page;

    /**
     * 记录编号
     */
    @ExcelProperty(value = "记录编号")
    private String jilbh;

    /**
     * 检测单位名称
     */
    @ExcelProperty(value = "检测单位名称")
    private String jiancdwmc;

    /**
     * 工程名称
     */
    @ExcelProperty(value = "工程名称")
    private String gongcmc;

    /**
     * 工程部位/用途
     */
    @ExcelProperty(value = "工程部位/用途")
    private String gongcbwyt;

    /**
     * 样品名称
     */
    @ExcelProperty(value = "样品名称")
    private String yangpmc;

    /**
     * 样品编号
     */
    @ExcelProperty(value = "样品编号")
    private String yangpbh;

    /**
     * 样品数量
     */
    @ExcelProperty(value = "样品数量")
    private String yangpsl;

    /**
     * 样品状态
     */
    @ExcelProperty(value = "样品状态")
    private String yangpzt;

    /**
     * 样品时间
     */
    @ExcelProperty(value = "样品时间")
    private String yangpsj;

    /**
     * 试验检测日期
     */
    @ExcelProperty(value = "试验检测日期")
    private String shiyjcrq;

    /**
     * 试验条件温度
     */
    @ExcelProperty(value = "试验条件温度")
    private String shiytjwd;

    /**
     * 试验条件湿度
     */
    @ExcelProperty(value = "试验条件湿度")
    private String shiytjsd;

    /**
     * 检测依据
     */
    @ExcelProperty(value = "检测依据")
    private String jiancyj;

    /**
     * 判定依据
     */
    @ExcelProperty(value = "判定依据")
    private String pandyj;

    /**
     * 检测依据ids
     */
    @ExcelProperty(value = "检测依据ids")
    private String jiancyjIds;

    /**
     * 判定依据ids
     */
    @ExcelProperty(value = "判定依据ids")
    private String pandyjIds;

    /**
     * 主要仪器设备名称及编号
     */
    @ExcelProperty(value = "主要仪器设备名称及编号")
    private String zhuyyqsbmcjbh;

    /**
     * 设备id逗号分隔
     */
    @ExcelProperty(value = "设备id逗号分隔")
    private String shebIds;

    /**
     * 附加声明
     */
    @ExcelProperty(value = "附加声明")
    private String fujsm;

    /**
     * 集料用途
     */
    @ExcelProperty(value = "集料用途")
    private String jilyt;

    /**
     * 混合料名称
     */
    @ExcelProperty(value = "混合料名称")
    private String hunhlmc;

    /**
     * 规定级配名称
     */
    @ExcelProperty(value = "规定级配名称")
    private String guidjpmc;

    /**
     * 干燥试样总量1
     */
    @ExcelProperty(value = "干燥试样总量1")
    private BigDecimal ganzsyzl1;

    /**
     * 干燥试样总量2
     */
    @ExcelProperty(value = "干燥试样总量2")
    private BigDecimal ganzsyzl2;

    /**
     * 水洗后筛上总量1
     */
    @ExcelProperty(value = "水洗后筛上总量1")
    private BigDecimal shuixhsszl1;

    /**
     * 水洗后筛上总量2
     */
    @ExcelProperty(value = "水洗后筛上总量2")
    private BigDecimal shuixhsszl2;

    /**
     * 水洗后0.075mm筛下量1
     */
    @ExcelProperty(value = "水洗后0.075mm筛下量1")
    private BigDecimal shaixl1;

    /**
     * 水洗后0.075mm筛下量2
     */
    @ExcelProperty(value = "水洗后0.075mm筛下量2")
    private BigDecimal shaixl2;

    /**
     * 0.075mm通过率1
     */
    @ExcelProperty(value = "0.075mm通过率1")
    private BigDecimal tonggl1;

    /**
     * 0.075mm通过率2
     */
    @ExcelProperty(value = "0.075mm通过率2")
    private BigDecimal tonggl2;

    /**
     * 平均
     */
    @ExcelProperty(value = "平均")
    private BigDecimal pingj;

    /**
     * 干筛后总量1
     */
    @ExcelProperty(value = "干筛后总量1")
    private BigDecimal ganshzl1;

    /**
     * 干筛后总量2
     */
    @ExcelProperty(value = "干筛后总量2")
    private BigDecimal ganshzl2;

    /**
     * 损耗1
     */
    @ExcelProperty(value = "损耗1")
    private BigDecimal sunh1;

    /**
     * 损耗2
     */
    @ExcelProperty(value = "损耗2")
    private BigDecimal sunh2;

    /**
     * 损耗率1
     */
    @ExcelProperty(value = "损耗率1")
    private BigDecimal sunhl1;

    /**
     * 损耗率2
     */
    @ExcelProperty(value = "损耗率2")
    private BigDecimal sunhl2;

    /**
     * 扣除损耗后总量1
     */
    @ExcelProperty(value = "扣除损耗后总量1")
    private BigDecimal koucshhzl1;

    /**
     * 扣除损耗后总量2
     */
    @ExcelProperty(value = "扣除损耗后总量2")
    private BigDecimal koucshhzl2;

    public void setGanzsyzl1(BigDecimal ganzsyzl1) {
        this.ganzsyzl1 = BigDecimalUtil.stpTrailZero(ganzsyzl1);
    }

    public void setGanzsyzl2(BigDecimal ganzsyzl2) {
        this.ganzsyzl2 = BigDecimalUtil.stpTrailZero(ganzsyzl2);
    }

    public void setShuixhsszl1(BigDecimal shuixhsszl1) {
        this.shuixhsszl1 = BigDecimalUtil.stpTrailZero(shuixhsszl1);
    }

    public void setShuixhsszl2(BigDecimal shuixhsszl2) {
        this.shuixhsszl2 = BigDecimalUtil.stpTrailZero(shuixhsszl2);
    }

    public void setShaixl1(BigDecimal shaixl1) {
        this.shaixl1 = BigDecimalUtil.stpTrailZero(shaixl1);
    }

    public void setShaixl2(BigDecimal shaixl2) {
        this.shaixl2 = BigDecimalUtil.stpTrailZero(shaixl2);
    }

    public void setTonggl1(BigDecimal tonggl1) {
        this.tonggl1 = BigDecimalUtil.stpTrailZero(tonggl1);
    }

    public void setTonggl2(BigDecimal tonggl2) {
        this.tonggl2 = BigDecimalUtil.stpTrailZero(tonggl2);
    }

    public void setPingj(BigDecimal pingj) {
        this.pingj = BigDecimalUtil.stpTrailZero(pingj);
    }

    public void setGanshzl1(BigDecimal ganshzl1) {
        this.ganshzl1 = BigDecimalUtil.stpTrailZero(ganshzl1);
    }

    public void setGanshzl2(BigDecimal ganshzl2) {
        this.ganshzl2 = BigDecimalUtil.stpTrailZero(ganshzl2);
    }

    public void setSunh1(BigDecimal sunh1) {
        this.sunh1 = BigDecimalUtil.stpTrailZero(sunh1);
    }

    public void setSunh2(BigDecimal sunh2) {
        this.sunh2 = BigDecimalUtil.stpTrailZero(sunh2);
    }

    public void setSunhl1(BigDecimal sunhl1) {
        this.sunhl1 = BigDecimalUtil.stpTrailZero(sunhl1);
    }

    public void setSunhl2(BigDecimal sunhl2) {
        this.sunhl2 = BigDecimalUtil.stpTrailZero(sunhl2);
    }

    public void setKoucshhzl1(BigDecimal koucshhzl1) {
        this.koucshhzl1 = BigDecimalUtil.stpTrailZero(koucshhzl1);
    }

    public void setKoucshhzl2(BigDecimal koucshhzl2) {
        this.koucshhzl2 = BigDecimalUtil.stpTrailZero(koucshhzl2);
    }

    /**
     * 详细表
     */
    List<CjlkljpsyBaDetailVo> baDetailVos;

    public CjlkljpsyBsInfoVo() {
        // 默认 14次
        long size = 14L;
        baDetailVos = new ArrayList<>((int) size);
        for (long i = 1; i <= size; i++) {
            baDetailVos.add(new CjlkljpsyBaDetailVo());
        }
    }
}
